home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_transformer.py < prev    next >
Text File  |  2005-10-18  |  1KB  |  36 lines

  1. import unittest
  2. from test import test_support
  3. from compiler import transformer, ast
  4. from compiler import compile
  5.  
  6. class Tests(unittest.TestCase):
  7.  
  8.     def testMultipleLHS(self):
  9.         """ Test multiple targets on the left hand side. """
  10.  
  11.         snippets = ['a, b = 1, 2',
  12.                     '(a, b) = 1, 2',
  13.                     '((a, b), c) = (1, 2), 3']
  14.  
  15.         for s in snippets:
  16.             a = transformer.parse(s)
  17.             assert isinstance(a, ast.Module)
  18.             child1 = a.getChildNodes()[0]
  19.             assert isinstance(child1, ast.Stmt)
  20.             child2 = child1.getChildNodes()[0]
  21.             assert isinstance(child2, ast.Assign)
  22.  
  23.             # This actually tests the compiler, but it's a way to assure the ast
  24.             # is correct
  25.             c = compile(s, '<string>', 'single')
  26.             vals = {}
  27.             exec c in vals
  28.             assert vals['a'] == 1
  29.             assert vals['b'] == 2
  30.  
  31. def test_main():
  32.     test_support.run_unittest(Tests)
  33.  
  34. if __name__ == "__main__":
  35.     test_main()
  36.